/*
 * @Description: 表单自定义验证方法
 * @Author: liushuang
 * @Date: 2022-08-22 11:34:32
 * @LastEditTime: 2022-08-22 11:43:56
 */
import { isNum } from 'web-utils-super'

/**
 * @desc: 验证密码(至少包括字母数字特殊字符中任意2种 6-16位)
 */
export const validatePassword = (rule, value, callback) => {
  const reg = /(?!^(\d+|[a-zA-Z]+|[~!@#$%^&*?]+)$)^[\w~!@#$%^&*?]/
  if (value === '') {
    callback(new Error('请输入密码'))
  } else if (value.length < 6) {
    callback(new Error('密码6-16位，数字、字母、特殊字符至少包含其中两种'))
  } else if (value.length > 16) {
    callback(new Error('密码6-16位，数字、字母、特殊字符至少包含其中两种'))
  } else if (!reg.test(value)) {
    callback(new Error('密码6-16位，数字、字母、特殊字符至少包含其中两种'))
  } else {
    callback()
  }
}

/**
 * @desc: 表单验证数字
 */
export const validateCount = (rule, value, callback) => {
  if (value === '') {
    callback(new Error('请输入维护数量'))
  } else if (!isNum(value, 'num', true)) {
    callback(new Error('请输入正数'))
  } else {
    callback()
  }
}
